<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>只有watch才能实现</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 
            需求:延迟一秒输出名字的字
         -->
        <!-- 准备好一个容器-->
        <div id="demo">
            姓:<input type="text" v-model="firstName"><br />
            名:<input type="text" v-model="lastName"><br />
            全名:<span>{{fullName}}</span>
        </div>
    </body>

    <script type="text/javascript">
        //阻止 vue 在启动时生成生产提示。
        Vue.config.productionTip = false
        new Vue({
            el: '#demo',
            // 事件的回调
            data: {
                firstName: 'wang',
                lastName: 'shuai',
                fullName: ''
            },
            methods:{
            },
            // 计算属性
            computed:{
            },
            // 监视属性
            watch:{
                firstName:{
                    immediate:true,
                    handler(val){
                       this.fullName = val + '-' + this.lastName
                    }
                },
                lastName:{
                    handler(val){
                        setTimeout(()=>{
                            this.fullName = this.firstName + '-' + val
                        },1000)
                    }
                }
            }
        })
    </script>
</html>